package chapter07

import scala.collection.mutable

/**
 * Created with IntelliJ IDEA.
 * ClassName: Test09_Map
 * Package: chapter07
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 *          Date: 2023-06-27
 *          Time: 21:40
 */

object Test09_Map {
  def main(args: Array[String]): Unit = {
    //1.创建map
    val map1: mutable.Map[String, Int] =
      mutable.Map("a" -> 12, "b" -> 23, "hello" -> 4)

    println(map1)
    println(map1.getClass)
    //class scala.collection.mutable.HashMap 没有显示元素个数

    //添加元素
    map1.put("c", 6)
    map1.put("d", 9)
    //符号添加元素
    map1 += (("e", 7))
    println(map1)

    //删除元素
    map1.remove("e")
    println(map1)
    map1 -= ("hello")
    println(map1)

    //修改元素 存在修改 不存在添加
    map1.update("a", 99)
    map1.update("jjj", 888)
    println(map1)

    //合并Map
    val map2 = Map("pp" -> 123, "bb" -> 77)
    //都加载map1中
    map1 ++= map2
    println(map1)
    //也可以 ++ 得到新的Map
    // ++ 本质是一个方法调用 谁是调用的对象很关键
    //如果 map2调用(不可变Map)生成新的Map也是不可变的 map1(可变的)调用++ 新Map就是可变的
    val map3 = map2 ++ map1
    println(map3)
    println(map3.getClass)


  }
}
